iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
SideProject30

python基礎及數據科學之應用系列 第 22

python基礎及數據科學之應用day 21[tkinter資料庫介紹3(對話方塊及匯出專案)]

  • 分享至 

  • xImage
  •  

day 22:

/images/emoticon/emoticon05.gif
希望瀏覽數可以多點啦,更多人看我的教學後有所增長

對話方塊(messagebox)

有八種不同的對話方塊,他們彈出時的符號都是不同的,先試試吧
範例:

from tkinter import *
from tkinter import messagebox

Window = Tk()

def msgshow():
    messagebox.showinfo("msg box","never gonna give you up")

Window.title("messagebox")
Window.geometry("400x400")

btn = Button(text="rick roll",command=msgshow)
btn.pack()

Window.mainloop()

執行結果:
https://ithelp.ithome.com.tw/upload/images/20231007/20163173MQdud3xXdO.png

以下各種方塊的效果可自行嘗試或上網搜尋。

對話方塊 用途
showwarning 顯示警告
showerror 顯示錯誤
askquestion 顯示詢問,如果按是的話就會回傳Yes,按否的話就回傳No
askokcancel 顯示確定和取消,和上者相似
askyesno 和相似,但是它回傳布林值
askyesnocancel 顯示 是、否和取消
askretrycancel 顯示重試和取消的訊息,回傳布林值

接着我們便嘗試另外一個對話方塊

範例:

import tkinter as tk
from tkinter import messagebox

def show_question():
    # 問一個是/否問題
    response = messagebox.askquestion("Question", "Coffee?")

    if response == "yes":
        result_label.config(text="Wrong,is tea")
    elif response == "no":
        result_label.config(text="good try")
    else:
        result_label.config(text="User closed the message box.")

window = tk.Tk()

# 建立一個按鈕來觸發問題對話框
button = tk.Button(window, text="Ask Question", command=show_question,bg="red")
button.pack()

# 建立一個標籤來顯示結果
result_label = tk.Label(window, text="")
result_label.pack()

# Start the Tkinter event loop
window.mainloop()

執行結果:
https://ithelp.ithome.com.tw/upload/images/20231007/20163173x6hYRD8KSJ.png

在今次的範例中我們嘗試了透過回傳的結果對Window作出反應,其他的可自行嘗試。

將 Tkinter 應用程式轉換為可執行檔(exe)

這三天我介紹了很多tkinter的各種物件,但如果你想製作專案並分享給你朋友總不能只傳送python的程式碼讓他們自己處理,所以我們可以把它轉換為exe檔案。

將 Tkinter 應用程式轉換為可執行檔(.exe)有幾個好處:

  1. 保護原始碼
  2. 專業外觀
  3. 易於分發
  4. 效能最佳化

如何將 tkinter 轉換為 .exe

安裝 PyInstaller

pip install pyinstaller

開啟命令提示字元(command pormpt)
導航到目錄
使用cd命令導航到Tkinter應用程式的主Python腳本所在的目錄。例如,如果您的腳本位於中C:\path\to\your\script,您將執行以下命令

cd C:\path\to\your\script
轉換為.exe

開啟命令提示字元(command pormpt)
這時候便可以輸入下列的指令,請記得將main.py改變成你tkinter的檔案名稱。

pyinstaller main.py 

接着便能看見一個新的folder在一樣的路徑,打開後一個相同名字的exe檔案,便能看見你的作品。

但是你製作到這裏,你便會發現有很多個檔案,這樣不便於分享而且會洩漏你的原始代碼,所以只要加入--onefile便能夠解決這個問題。

pyinstaller main.py --onefile

到最後,聰明的你便能夠留意到在開啟檔案是會同事打開cmd prompt,這是只需要再加w便不會再開啟時同時打開。

pyinstaller main.py --onefile w

/images/emoticon/emoticon11.gif
明天我們應該會做一個小小的專案,今天的有趣內容到這裏,如果覺得我的文章對你有幫助或有更好的建議,可以追蹤我和不妨在留言區提出,我們明天再見。

reference:
https://www.youtube.com/watch?v=Iv_dECet_oM


上一篇
python基礎及數據科學之應用day 21[tkinter資料庫介紹2]
下一篇
python基礎及數據科學之應用day 23[tkinter資料庫介紹4]
系列文
python基礎及數據科學之應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言